Enumerated Types

Several enumerated data types are defined in the system. These types are:
SRel:
LINEARIZATION, AFFINE, TANGENT, PROJECT_COMP,
LIN_DUAL, TANG_DUAL, NO_RELATION, SAME_SPACE
SpaceType:
NULL_SPACE, VEC_SPACE, AFF_SPACE, PROJ_SPACE,
ANY_SPACE
BasisType:
NULL_BASIS, SIMPLEX, FRAME, VBASIS, HFRAME,
ANY_BASIS
GeObType:
NULL_GEOB, VECTOR, AFF_POINT, AFF_VECTOR,
VEC_EC, AFF_VEC_EC, PROJ_POINT, ANY_GEOB
MapType:
NULL_MAP, LIN_MAP, AFF_MAP, PROJ_MAP, ANY_MAP
MultiType:
NULL_MULTI, MULTI_LINEAR, MULTI_AFFINE,
ANY_MULTI
SubSetType:
NULL_SUBSET, LINEAR_SUBSET, AFFINE_SUBSET, PROJECTIVE_SUBSET, ANY_SUBSET
EnumSet:
SPACETYPES, BASISTYPES, GEOBTYPES, MAPTYPES,
MULTITYPES, SUBSETTYPES, SRELTYPES
Probably the most important type for the user to be familiar with is the SRel type, which is used to navigate around the six-space set.

Output functions have been implemented for each data type (except EnumSet) to facilitate easy output for debugging purposes. For example:

ostream& GeObTypeOut(ostream& c, GeObType t)